昨天有提到ROS1已經發行了13個版本了,未來將不會在有新版本的ROS1。
那ROS2呢?來看看官方整理的表格吧~
可以看到目前最新的ROS2版本是Iron Irwini,今年(2023)的五月才發布~非常的熱騰騰阿!
綠色的是官方推薦使用的版本,EOL date (end-of-life)代表的是該版本生命週期截止的那天,也就是不再受到官方支援,雖然依舊可以使用,但如果遇到bug官方就不會修復了!
你們有發現每個版本的ROS都是依照英文字母的順序排序嘛?
而且形象圖都有好好對應到他們的名稱哦XD可愛的小烏龜們!!
因為我自己目前固定用ROS2 Foxy Fitzroy,關於要用哪個版本我自己也踩了不少坑,馬上就會提到了~
ROS2可以安裝於以下作業系統:
我自己因為同時有Windows桌電和Ubuntu工控機的關係,這兩種我也都有安裝過,基本上按照上面連結的官方教學安裝是沒有遇到問題的~
安裝完後,最重要的環節就是設置環境變數!
每當開啟一個新的terminal都要做一次
source /opt/ros/foxy/setup.bash
如果不想每次都這麼麻煩,可以一開始先做這件事
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
理論上~接下來就能正常使了!
但~營建小白的我也是挖了些坑給自己跳過...
剛開始學ROS時,沒有選定一個版本做練習,在同一台電腦同時安裝了ROS1、ROS2,也還沒養成source的習慣,卸載又沒卸乾淨等等,又遇上Ubuntu版本有綁定特定的ROS版本等等,一剛開始很多東西沒搞懂,重灌了電腦好多次。
後來有個省力一點的方式,也就是用docker~~~
docker pull osrf/ros:foxy-desktop
docker run -it osrf/ros:foxy-desktop
這樣就有一個ros foxy的容器啦~
要注意的是,這樣沒辦法跑gazebo或rviz2等需要畫面的軟體,因為還沒辦法使用GUI,所以顯示不了~
為了要出現圖形界面,可以改成:
xhost local:root
XAUTH=/tmp/.docker.xauth
docker run -it \
--name=it15test_gui \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--env="XAUTHORITY=$XAUTH" \
--volume="$XAUTH:$XAUTH" \
--net=host \
--privileged\
osrf/ros:foxy-desktop \
bash
ubuntu 22.04成功畫面